package com.zhuzhe.blog.category.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zhuzhe.blog.base.ResponseData;
import com.zhuzhe.blog.category.entity.Category;
import com.zhuzhe.blog.category.requestDto.CategorySerachDto;
import com.zhuzhe.blog.category.responseVo.CategoryLabelListVo;
import com.zhuzhe.blog.category.responseVo.CategoryListVo;
import com.zhuzhe.blog.category.responseVo.CategoryVo;

import java.io.Serializable;
import java.util.List;

/**
 * 文章分类表-服务类（业务层）
 */

public interface ICategoryService extends IService<Category> {

    /**
     * 分页条件查询分类信息
     * @param request 条件
     * @return
     */
    ResponseData<IPage<CategoryVo>> queryPage(CategorySerachDto request);


    /**
     * 获取正常状态分类信息
     * @return
     */
    ResponseData<List<CategoryListVo>> findAllNormal();

    /**
     * 查询分类及分类下标签集合
     * @return
     */
    ResponseData<List<CategoryLabelListVo>> findCategoryAndLabel();

    /**
     * 根据id查询分类信息
     * @param id
     * @return
     */
    ResponseData<CategoryVo> getCategoryVoById(String id);

    /**
     * 修改分了信息
     * @param entity
     * @return
     */
    ResponseData<String> updateCategoryById(Category entity);

    /**
     * 删除分类信息
     * @param id
     * @return
     */
    ResponseData<String> removeCategoryById(String id);

    /**
     * 新增分类
     * @param category
     * @return
     */
    ResponseData<String> saveCategory(Category category);
}
